#ifndef _KUAIMOL_H_
#define _KUAIMOL_H_

#ifdef KUAIMOL_EXPORTS
#define KUAIMOL_API(TYPE) __declspec(dllexport) TYPE 
#else
#define KUAIMOL_API(TYPE) __declspec(dllimport) TYPE 
#endif

extern "C" {

	KUAIMOL_API(void*) readMDLMol(const char szData[]); 
	KUAIMOL_API(void*) readKuaiMol(const char szData[]); 
	KUAIMOL_API(int) saveMDLMol(void* mol, char buffer[], int bufsize); 
	KUAIMOL_API(int) saveKuaiMol(void* mol, char buffer[], int bufsize); 
	KUAIMOL_API(void) freeMol(void* mol); 

	KUAIMOL_API(int) inchi(void* mol, char buffer[], int bufsize, const char szOptions[]); 
	KUAIMOL_API(int) inchikey(void* mol, char buffer[], const char szOptions[]); 

	KUAIMOL_API(int) countAtoms(void* mol);
	KUAIMOL_API(int) countBonds(void* mol);

	KUAIMOL_API(double) formula_weight(const char formula[]);
	KUAIMOL_API(const char*) kuaimol_key();	

	KUAIMOL_API(int) sss(void* mol, const char* target);
}

#endif // _KUAIMOL_H_
